package com.songyl.patternLearn.AbstractFactoryPattern;

import org.junit.Test;

public class Client {

    /**
     * 需求：玩家1和玩家2都会画一个图形，并且填充颜色,指定一个玩家游玩
     * 分析: 1、玩家1和玩家2可以认为是两个具体的工厂类，他们都会画图形，并且填充颜色，可以抽象出来定义一个抽象工厂类
     *       2、这里抽象工厂不知道生产什么类型的图形和颜色，图形和颜色也抽象出来定义为抽象产品。
     *       3、具体的图形和颜色有玩家自定义。
     */
    @Test
    public void play(){
        AbstractPlayer factory=new Player1();

        Shape shape=factory.createShape();
        shape.draw();

        Color color=factory.createColor();
        color.fill();

    }
}
